package com.chinawayltd.ews.sample.mapper.algorithm;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import com.chinawayltd.ews.sample.model.TDriverPlan;
import com.chinawayltd.ews.sample.model.algorithm.DriverPlanVO;
import com.chinawayltd.ews.sample.web.query.DriverPlanGirdQuery;

/**
 * @program: greeProject
 * @description Mapper
 * @author: chenxin
 * @create: 2018年4月11日 下午10:50:43
 */
@Mapper
public interface DriverPlanExtendMapper {

    /**
     * 根据查询条件与分页信息查询站点数据
     * @param queryParam
     * @param page
     * @return
     */
    List<DriverPlanVO> listDriverPlanByPage(DriverPlanGirdQuery queryParam);
    
    /**
     * 通过站点查询订单
     * @author: chenxin
     * @date: 2018年4月16日
     * @param branchId
     * @return
     */
    List<TDriverPlan> listDriverPlanById(@Param("shiftId")Long shiftId);
    
	/**
	 * 删除指定对象
	 * @author: chenxin
	 * @date: 2018年4月16日
	 * @param ids
	 * @return
	 */
	public int deleteAll(String[] ids);
	/**
	 * 添加
	 * @author: chenxin
	 * @date: 2018年4月17日
	 * @param record
	 * @return
	 */
    int insert(TDriverPlan record);

	/**判断司机时间是否冲突
	 * @author Fay
	 * @date 2018年5月7日 下午5:37:14
	 * @param driverId
	 * @param bigTime
	 * @param endTime
	 * @return
	 */
	List<Map<String, Object>> getDriverPlanTimeIsConflict(@Param("driverId")Long driverId, @Param("id")String id);

	/**判断车辆是否与班次时间冲突
	 * @author Fay
	 * @date 2018年5月23日 下午4:05:45
	 * @param carId
	 * @param id
	 * @return
	 */
	List<Map<String, Object>> getCarPlanTimeIsConflict(@Param("carId")Long carId, @Param("id")String id);

	/**
	 * 通过id或者司机id查询司机排班来校验司机的唯一
	 * @author: chenxin
	 * @date: 2018年5月28日 上午11:10:32
	 * @param id
	 * @param name
	 * @return
	 */
	List<TDriverPlan> getByIdAndName(@Param("id")String id, @Param("name")String name);
	
}
